MacBinary | 1992-07-16 | 10.6 KB | [TEXT/CCL2] |
Confidence | Program | Detection | Match Type | Support |
---|---|---|---|---|
10% | dexvert | MacBinary (archive/macBinary) | fallback | Supported |
1% | dexvert | Text File (text/txt) | fallback | Supported |
100% | file | MacBinary II, inited, Thu Jul 16 12:00:30 1992, modified Thu Jul 16 12:00:30 1992, creator Common Lisp 2, type ASCII, 10196 bytes "draggable-svm.lisp" , at 0x2854 442 bytes resource | default (weak) | |
99% | file | data | default | |
74% | TrID | Macintosh plain text (MacBinary) | default | |
25% | TrID | MacBinary 2 | default (weak) | |
100% | siegfried | fmt/1762 MacBinary (II) | default | |
100% | lsar | MacBinary | default |
id metadata | |
---|---|
key | value |
macFileType | [TEXT] |
macFileCreator | [CCL2] |
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 12 64 72 61 67 67 61 | 62 6c 65 2d 73 76 6d 2e |..dragga|ble-svm.|
|00000010| 6c 69 73 70 00 00 00 00 | 00 00 00 00 00 00 00 00 |lisp....|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 43 4c | 32 01 00 00 00 00 00 00 |.TEXTCCL|2.......|
|00000050| 00 00 00 00 00 27 d4 00 | 00 01 ba a6 8b 4d 9e a6 |.....'..|.....M..|
|00000060| 8b 4d 9e 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.M......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 4f 4c 00 00 |........|....OL..|
|00000080| 28 69 6e 2d 70 61 63 6b | 61 67 65 20 3a 6f 6f 75 |(in-pack|age :oou|
|00000090| 29 0d 28 6f 6f 75 2d 70 | 72 6f 76 69 64 65 20 3a |).(oou-p|rovide :|
|000000a0| 64 72 61 67 67 61 62 6c | 65 2d 73 76 6d 29 0d 3b |draggabl|e-svm).;|
|000000b0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000000c0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000000d0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000000e0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000000f0| 3b 3b 3b 3b 3b 0d 3b 3b | 20 64 72 61 67 67 61 62 |;;;;;.;;| draggab|
|00000100| 6c 65 2d 73 76 6d 2e 6c | 69 73 70 0d 3b 3b 0d 3b |le-svm.l|isp.;;.;|
|00000110| 3b 20 43 6f 70 79 72 69 | 67 68 74 20 a9 20 31 39 |; Copyri|ght . 19|
|00000120| 39 32 20 4e 6f 72 74 68 | 77 65 73 74 65 72 6e 20 |92 North|western |
|00000130| 55 6e 69 76 65 72 73 69 | 74 79 20 49 6e 73 74 69 |Universi|ty Insti|
|00000140| 74 75 74 65 20 66 6f 72 | 20 74 68 65 20 4c 65 61 |tute for| the Lea|
|00000150| 72 6e 69 6e 67 20 53 63 | 69 65 6e 63 65 73 0d 3b |rning Sc|iences.;|
|00000160| 3b 20 41 6c 6c 20 52 69 | 67 68 74 73 20 52 65 73 |; All Ri|ghts Res|
|00000170| 65 72 76 65 64 0d 3b 3b | 0d 3b 3b 20 61 75 74 68 |erved.;;|.;; auth|
|00000180| 6f 72 3a 20 4d 69 63 68 | 61 65 6c 20 53 2e 20 45 |or: Mich|ael S. E|
|00000190| 6e 67 62 65 72 0d 3b 3b | 20 20 20 20 20 20 20 20 |ngber.;;| |
|000001a0| 20 20 62 61 73 65 64 20 | 6f 6e 20 61 6e 20 69 64 | based |on an id|
|000001b0| 65 61 20 6f 72 69 67 69 | 6e 61 6c 6c 79 20 69 6d |ea origi|nally im|
|000001c0| 70 6c 65 6d 65 6e 74 65 | 64 20 66 6f 72 20 4d 41 |plemente|d for MA|
|000001d0| 43 4c 20 31 2e 33 32 20 | 62 79 20 52 69 63 68 20 |CL 1.32 |by Rich |
|000001e0| 4c 79 6e 63 68 0d 3b 3b | 0d 3b 3b 20 6d 69 78 69 |Lynch.;;|.;; mixi|
|000001f0| 6e 20 66 6f 72 20 64 72 | 61 67 67 69 6e 67 20 76 |n for dr|agging v|
|00000200| 69 65 77 73 0d 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |iews.;;;|;;;;;;;;|
|00000210| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000220| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000230| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000240| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 0d 0d 28 6f 6f |;;;;;;;;|;;;..(oo|
|00000250| 75 2d 64 65 70 65 6e 64 | 65 6e 63 69 65 73 0d 20 |u-depend|encies. |
|00000260| 3a 73 69 6d 70 6c 65 2d | 76 69 65 77 2d 63 65 0d |:simple-|view-ce.|
|00000270| 20 3a 57 4d 67 72 2d 76 | 69 65 77 0d 20 3a 51 75 | :WMgr-v|iew. :Qu|
|00000280| 69 63 6b 44 72 61 77 2d | 75 0d 20 3a 6b 69 6e 65 |ickDraw-|u. :kine|
|00000290| 73 69 73 2d 75 29 0d 0d | 28 65 78 70 6f 72 74 20 |sis-u)..|(export |
|000002a0| 27 28 64 72 61 67 67 61 | 62 6c 65 2d 73 76 6d 20 |'(dragga|ble-svm |
|000002b0| 70 72 65 2d 64 72 61 67 | 2d 68 69 6c 69 74 65 20 |pre-drag|-hilite |
|000002c0| 64 72 61 67 67 61 62 6c | 65 2d 70 20 70 6f 69 6e |draggabl|e-p poin|
|000002d0| 74 2d 69 6e 2d 64 72 61 | 67 2d 72 65 67 69 6f 6e |t-in-dra|g-region|
|000002e0| 2d 70 20 73 65 74 2d 64 | 72 61 67 2d 6f 75 74 6c |-p set-d|rag-outl|
|000002f0| 69 6e 65 2d 72 67 6e 29 | 29 0d 0d 3b 3b 3b 3b 3b |ine-rgn)|)..;;;;;|
|00000300| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000310| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000320| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000330| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00000340| 3b 0d 0d 28 64 65 66 63 | 6c 61 73 73 20 64 72 61 |;..(defc|lass dra|
|00000350| 67 67 61 62 6c 65 2d 73 | 76 6d 20 28 29 0d 20 20 |ggable-s|vm (). |
|00000360| 28 28 64 72 61 67 2d 62 | 6f 75 6e 64 73 20 20 20 |((drag-b|ounds |
|00000370| 20 20 20 20 20 3a 69 6e | 69 74 61 72 67 20 3a 64 | :in|itarg :d|
|00000380| 72 61 67 2d 62 6f 75 6e | 64 73 0d 20 20 20 20 20 |rag-boun|ds. |
|00000390| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000003a0| 20 20 3a 61 63 63 65 73 | 73 6f 72 20 64 72 61 67 | :acces|sor drag|
|000003b0| 2d 62 6f 75 6e 64 73 29 | 0d 20 20 20 28 68 2d 64 |-bounds)|. (h-d|
|000003c0| 72 61 67 2d 73 6c 6f 70 | 20 20 20 20 20 20 20 20 |rag-slop| |
|000003d0| 3a 69 6e 69 74 61 72 67 | 20 3a 68 2d 64 72 61 67 |:initarg| :h-drag|
|000003e0| 2d 73 6c 6f 70 0d 20 20 | 20 20 20 20 20 20 20 20 |-slop. | |
|000003f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3a 61 63 | | :ac|
|00000400| 63 65 73 73 6f 72 20 68 | 2d 64 72 61 67 2d 73 6c |cessor h|-drag-sl|
|00000410| 6f 70 29 0d 20 20 20 28 | 76 2d 64 72 61 67 2d 73 |op). (|v-drag-s|
|00000420| 6c 6f 70 20 20 20 20 20 | 20 20 20 3a 69 6e 69 74 |lop | :init|
|00000430| 61 72 67 20 3a 76 2d 64 | 72 61 67 2d 73 6c 6f 70 |arg :v-d|rag-slop|
|00000440| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00000450| 20 20 20 20 20 20 20 20 | 3a 61 63 63 65 73 73 6f | |:accesso|
|00000460| 72 20 76 2d 64 72 61 67 | 2d 73 6c 6f 70 29 0d 20 |r v-drag|-slop). |
|00000470| 20 20 28 64 72 61 67 2d | 61 78 69 73 20 20 20 20 | (drag-|axis |
|00000480| 20 20 20 20 20 20 3a 69 | 6e 69 74 61 72 67 20 3a | :i|nitarg :|
|00000490| 64 72 61 67 2d 61 78 69 | 73 0d 20 20 20 20 20 20 |drag-axi|s. |
|000004a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000004b0| 20 3a 61 63 63 65 73 73 | 6f 72 20 64 72 61 67 2d | :access|or drag-|
|000004c0| 61 78 69 73 29 0d 20 20 | 20 28 64 72 61 67 2d 6f |axis). | (drag-o|
|000004d0| 75 74 6c 69 6e 65 2d 70 | 20 20 20 20 20 3a 69 6e |utline-p| :in|
|000004e0| 69 74 61 72 67 20 20 3a | 64 72 61 67 2d 6f 75 74 |itarg :|drag-out|
|000004f0| 6c 69 6e 65 2d 70 0d 20 | 20 20 20 20 20 20 20 20 |line-p. | |
|00000500| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3a 61 | | :a|
|00000510| 63 63 65 73 73 6f 72 20 | 64 72 61 67 2d 6f 75 74 |ccessor |drag-out|
|00000520| 6c 69 6e 65 2d 70 29 0d | 20 20 20 28 64 72 61 67 |line-p).| (drag|
|00000530| 2d 70 72 65 2d 68 69 6c | 69 74 65 2d 70 20 20 3a |-pre-hil|ite-p :|
|00000540| 69 6e 69 74 61 72 67 20 | 3a 64 72 61 67 2d 70 72 |initarg |:drag-pr|
|00000550| 65 2d 68 69 6c 69 74 65 | 2d 70 0d 20 20 20 20 20 |e-hilite|-p. |
|00000560| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000570| 20 20 3a 61 63 63 65 73 | 73 6f 72 20 64 72 61 67 | :acces|sor drag|
|00000580| 2d 70 72 65 2d 68 69 6c | 69 74 65 2d 70 29 0d 20 |-pre-hil|ite-p). |
|00000590| 20 20 28 64 72 61 67 2d | 70 72 65 2d 65 72 61 73 | (drag-|pre-eras|
|000005a0| 65 2d 70 20 20 20 3a 69 | 6e 69 74 61 72 67 20 3a |e-p :i|nitarg :|
|000005b0| 64 72 61 67 2d 70 72 65 | 2d 65 72 61 73 65 2d 70 |drag-pre|-erase-p|
|000005c0| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000005d0| 20 20 20 20 20 20 20 20 | 3a 61 63 63 65 73 73 6f | |:accesso|
|000005e0| 72 20 64 72 61 67 2d 70 | 72 65 2d 65 72 61 73 65 |r drag-p|re-erase|
|000005f0| 2d 70 29 0d 20 20 20 28 | 64 72 61 67 2d 70 6f 73 |-p). (|drag-pos|
|00000600| 74 2d 65 72 61 73 65 2d | 70 20 20 3a 69 6e 69 74 |t-erase-|p :init|
|00000610| 61 72 67 20 3a 64 72 61 | 67 2d 70 6f 73 74 2d 65 |arg :dra|g-post-e|
|00000620| 72 61 73 65 2d 70 0d 20 | 20 20 20 20 20 20 20 20 |rase-p. | |
|00000630| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3a 61 | | :a|
|00000640| 63 63 65 73 73 6f 72 20 | 64 72 61 67 2d 70 6f 73 |ccessor |drag-pos|
|00000650| 74 2d 65 72 61 73 65 2d | 70 29 0d 20 20 20 28 64 |t-erase-|p). (d|
|00000660| 72 61 67 2d 73 74 61 72 | 74 2d 74 6f 6c 20 20 20 |rag-star|t-tol |
|00000670| 20 20 3a 69 6e 69 74 61 | 72 67 20 3a 64 72 61 67 | :inita|rg :drag|
|00000680| 2d 73 74 61 72 74 2d 74 | 6f 6c 0d 20 20 20 20 20 |-start-t|ol. |
|00000690| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000006a0| 20 20 3a 61 63 63 65 73 | 73 6f 72 20 64 72 61 67 | :acces|sor drag|
|000006b0| 2d 73 74 61 72 74 2d 74 | 6f 6c 29 0d 20 20 20 28 |-start-t|ol). (|
|000006c0| 64 72 61 67 2d 61 63 74 | 69 6f 6e 2d 66 6e 20 20 |drag-act|ion-fn |
|000006d0| 20 20 20 3a 69 6e 69 74 | 61 72 67 20 3a 64 72 61 | :init|arg :dra|
|000006e0| 67 2d 61 63 74 69 6f 6e | 2d 66 6e 0d 20 20 20 20 |g-action|-fn. |
|000006f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000700| 20 20 20 3a 61 63 63 65 | 73 73 6f 72 20 64 72 61 | :acce|ssor dra|
|00000710| 67 2d 61 63 74 69 6f 6e | 2d 66 6e 29 0d 20 20 20 |g-action|-fn). |
|00000720| 28 64 72 61 67 2d 65 6e | 64 2d 61 63 74 69 6f 6e |(drag-en|d-action|
|00000730| 2d 66 6e 20 3a 69 6e 69 | 74 61 72 67 20 3a 64 72 |-fn :ini|targ :dr|
|00000740| 61 67 2d 65 6e 64 2d 61 | 63 74 69 6f 6e 2d 66 6e |ag-end-a|ction-fn|
|00000750| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00000760| 20 20 20 20 20 20 20 20 | 3a 61 63 63 65 73 73 6f | |:accesso|
|00000770| 72 20 64 72 61 67 2d 65 | 6e 64 2d 61 63 74 69 6f |r drag-e|nd-actio|
|00000780| 6e 2d 66 6e 29 29 0d 20 | 20 28 3a 64 65 66 61 75 |n-fn)). | (:defau|
|00000790| 6c 74 2d 69 6e 69 74 61 | 72 67 73 0d 20 20 20 20 |lt-inita|rgs. |
|000007a0| 3a 64 72 61 67 2d 62 6f | 75 6e 64 73 20 20 20 20 |:drag-bo|unds |
|000007b0| 20 20 3a 6e 6f 6e 65 0d | 20 20 20 20 3a 68 2d 64 | :none.| :h-d|
|000007c0| 72 61 67 2d 73 6c 6f 70 | 20 20 20 20 20 20 20 32 |rag-slop| 2|
|000007d0| 30 0d 20 20 20 20 3a 76 | 2d 64 72 61 67 2d 73 6c |0. :v|-drag-sl|
|000007e0| 6f 70 20 20 20 20 20 20 | 20 32 30 0d 20 20 20 20 |op | 20. |
|000007f0| 3a 64 72 61 67 2d 61 78 | 69 73 20 20 20 20 20 20 |:drag-ax|is |
|00000800| 20 20 3a 62 6f 74 68 0d | 20 20 20 20 3a 64 72 61 | :both.| :dra|
|00000810| 67 2d 73 74 61 72 74 2d | 74 6f 6c 20 20 20 20 23 |g-start-|tol #|
|00000820| 40 28 32 20 32 29 0d 20 | 20 20 20 3a 64 72 61 67 |@(2 2). | :drag|
|00000830| 2d 6f 75 74 6c 69 6e 65 | 2d 70 20 20 20 20 74 0d |-outline|-p t.|
|00000840| 20 20 20 20 3a 64 72 61 | 67 2d 70 72 65 2d 68 69 | :dra|g-pre-hi|
|00000850| 6c 69 74 65 2d 70 20 74 | 0d 20 20 20 20 3a 64 72 |lite-p t|. :dr|
|00000860| 61 67 2d 70 72 65 2d 65 | 72 61 73 65 2d 70 20 20 |ag-pre-e|rase-p |
|00000870| 6e 69 6c 0d 20 20 20 20 | 3a 64 72 61 67 2d 70 6f |nil. |:drag-po|
|00000880| 73 74 2d 65 72 61 73 65 | 2d 70 20 74 0d 20 20 20 |st-erase|-p t. |
|00000890| 20 29 29 0d 0d 28 64 65 | 66 6d 65 74 68 6f 64 20 | ))..(de|fmethod |
|000008a0| 76 69 65 77 2d 63 6c 69 | 63 6b 2d 65 76 65 6e 74 |view-cli|ck-event|
|000008b0| 2d 68 61 6e 64 6c 65 72 | 20 28 28 73 76 20 64 72 |-handler| ((sv dr|
|000008c0| 61 67 67 61 62 6c 65 2d | 73 76 6d 29 20 77 68 65 |aggable-|svm) whe|
|000008d0| 72 65 29 0d 20 20 28 75 | 6e 6c 65 73 73 20 28 76 |re). (u|nless (v|
|000008e0| 69 65 77 2d 64 72 61 67 | 2d 68 61 6e 64 6c 65 72 |iew-drag|-handler|
|000008f0| 20 73 76 20 77 68 65 72 | 65 29 0d 20 20 20 20 28 | sv wher|e). (|
|00000900| 63 61 6c 6c 2d 6e 65 78 | 74 2d 6d 65 74 68 6f 64 |call-nex|t-method|
|00000910| 29 29 29 0d 0d 28 64 65 | 66 6d 65 74 68 6f 64 20 |)))..(de|fmethod |
|00000920| 76 69 65 77 2d 64 72 61 | 67 2d 68 61 6e 64 6c 65 |view-dra|g-handle|
|00000930| 72 20 28 28 73 76 20 64 | 72 61 67 67 61 62 6c 65 |r ((sv d|raggable|
|00000940| 2d 73 76 6d 29 20 77 68 | 65 72 65 29 0d 20 20 28 |-svm) wh|ere). (|
|00000950| 77 68 65 6e 20 28 61 6e | 64 20 28 64 72 61 67 67 |when (an|d (dragg|
|00000960| 61 62 6c 65 2d 70 20 73 | 76 29 20 28 70 6f 69 6e |able-p s|v) (poin|
|00000970| 74 2d 69 6e 2d 64 72 61 | 67 2d 72 65 67 69 6f 6e |t-in-dra|g-region|
|00000980| 2d 70 20 73 76 20 77 68 | 65 72 65 29 29 0d 20 20 |-p sv wh|ere)). |
|00000990| 20 20 28 77 68 65 6e 20 | 28 64 72 61 67 2d 70 72 | (when |(drag-pr|
|000009a0| 65 2d 68 69 6c 69 74 65 | 2d 70 20 73 76 29 20 28 |e-hilite|-p sv) (|
|000009b0| 70 72 65 2d 64 72 61 67 | 2d 68 69 6c 69 74 65 20 |pre-drag|-hilite |
|000009c0| 73 76 20 74 29 29 0d 20 | 20 20 20 28 6d 75 6c 74 |sv t)). | (mult|
|000009d0| 69 70 6c 65 2d 76 61 6c | 75 65 2d 62 69 6e 64 20 |iple-val|ue-bind |
|000009e0| 28 64 72 61 67 2d 6f 66 | 66 73 65 74 20 65 6e 64 |(drag-of|fset end|
|000009f0| 2d 61 63 74 69 6f 6e 2d | 70 29 20 28 77 68 65 6e |-action-|p) (when|
|00000a00| 20 28 64 72 61 67 2d 73 | 74 61 72 74 2d 70 20 73 | (drag-s|tart-p s|
|00000a10| 76 20 77 68 65 72 65 29 | 0d 20 20 20 20 20 20 20 |v where)|. |
|00000a20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 28 | | (|
|00000a50| 64 72 61 67 2d 69 74 65 | 6d 20 73 76 20 77 68 65 |drag-ite|m sv whe|
|00000a60| 72 65 29 29 0d 20 20 20 | 20 20 20 28 77 68 65 6e |re)). | (when|
|00000a70| 20 28 64 72 61 67 2d 70 | 72 65 2d 68 69 6c 69 74 | (drag-p|re-hilit|
|00000a80| 65 2d 70 20 73 76 29 20 | 28 70 72 65 2d 64 72 61 |e-p sv) |(pre-dra|
|00000a90| 67 2d 68 69 6c 69 74 65 | 20 73 76 20 6e 69 6c 29 |g-hilite| sv nil)|
|00000aa0| 29 0d 20 20 20 20 20 20 | 28 77 68 65 6e 20 65 6e |). |(when en|
|00000ab0| 64 2d 61 63 74 69 6f 6e | 2d 70 0d 20 20 20 20 20 |d-action|-p. |
|00000ac0| 20 20 20 28 63 61 6c 6c | 2d 64 72 61 67 2d 65 6e | (call|-drag-en|
|00000ad0| 64 2d 61 63 74 69 6f 6e | 20 73 76 20 64 72 61 67 |d-action| sv drag|
|00000ae0| 2d 6f 66 66 73 65 74 20 | 28 61 64 64 2d 70 6f 69 |-offset |(add-poi|
|00000af0| 6e 74 73 20 77 68 65 72 | 65 20 64 72 61 67 2d 6f |nts wher|e drag-o|
|00000b00| 66 66 73 65 74 29 29 29 | 0d 20 20 20 20 20 20 64 |ffset)))|. d|
|00000b10| 72 61 67 2d 6f 66 66 73 | 65 74 29 29 29 0d 0d 28 |rag-offs|et)))..(|
|00000b20| 64 65 66 6d 65 74 68 6f | 64 20 64 72 61 67 67 61 |defmetho|d dragga|
|00000b30| 62 6c 65 2d 70 20 28 28 | 73 76 20 64 72 61 67 67 |ble-p ((|sv dragg|
|00000b40| 61 62 6c 65 2d 73 76 6d | 29 29 0d 20 20 28 64 65 |able-svm|)). (de|
|00000b50| 63 6c 61 72 65 20 28 69 | 67 6e 6f 72 65 20 73 76 |clare (i|gnore sv|
|00000b60| 29 29 0d 20 20 3b 3b 73 | 70 65 63 69 61 6c 69 7a |)). ;;s|pecializ|
|00000b70| 65 20 74 6f 20 63 6f 6e | 74 72 6f 6c 20 77 68 65 |e to con|trol whe|
|00000b80| 6e 20 61 6e 20 69 74 65 | 6d 20 63 61 6e 20 62 65 |n an ite|m can be|
|00000b90| 20 64 72 61 67 67 65 64 | 0d 20 20 74 29 0d 0d 28 | dragged|. t)..(|
|00000ba0| 64 65 66 6d 65 74 68 6f | 64 20 70 6f 69 6e 74 2d |defmetho|d point-|
|00000bb0| 69 6e 2d 64 72 61 67 2d | 72 65 67 69 6f 6e 2d 70 |in-drag-|region-p|
|00000bc0| 20 28 28 73 76 20 64 72 | 61 67 67 61 62 6c 65 2d | ((sv dr|aggable-|
|00000bd0| 73 76 6d 29 20 70 74 29 | 0d 20 20 3b 3b 73 70 65 |svm) pt)|. ;;spe|
|00000be0| 63 69 61 6c 69 7a 65 20 | 74 6f 20 63 6f 6e 74 72 |cialize |to contr|
|00000bf0| 6f 6c 20 66 72 6f 6d 20 | 77 68 65 72 65 20 61 6e |ol from |where an|
|00000c00| 20 69 74 65 6d 20 63 61 | 6e 20 62 65 20 64 72 61 | item ca|n be dra|
|00000c10| 67 67 65 64 0d 20 20 3b | 3b 64 65 66 61 75 6c 74 |gged. ;|;default|
|00000c20| 73 20 74 6f 20 61 6e 79 | 20 61 72 65 61 20 6e 6f |s to any| area no|
|00000c30| 74 20 61 6c 73 6f 20 63 | 6f 6e 74 61 69 6e 65 64 |t also c|ontained|
|00000c40| 20 62 79 20 61 20 73 75 | 62 76 69 65 77 0d 20 20 | by a su|bview. |
|00000c50| 28 65 71 20 73 76 20 28 | 66 69 6e 64 2d 63 6c 69 |(eq sv (|find-cli|
|00000c60| 63 6b 65 64 2d 73 75 62 | 76 69 65 77 20 73 76 20 |cked-sub|view sv |
|00000c70| 70 74 29 29 29 0d 0d 28 | 64 65 66 6d 65 74 68 6f |pt)))..(|defmetho|
|00000c80| 64 20 63 61 6c 6c 2d 64 | 72 61 67 2d 61 63 74 69 |d call-d|rag-acti|
|00000c90| 6f 6e 20 28 28 73 76 20 | 64 72 61 67 67 61 62 6c |on ((sv |draggabl|
|00000ca0| 65 2d 73 76 6d 29 29 0d | 20 20 3b 3b 65 78 69 73 |e-svm)).| ;;exis|
|00000cb0| 74 73 20 70 72 69 6d 61 | 72 69 6c 79 20 74 6f 20 |ts prima|rily to |
|00000cc0| 62 65 20 73 70 65 63 69 | 61 6c 69 7a 65 64 20 62 |be speci|alized b|
|00000cd0| 79 20 73 65 6c 65 63 74 | 61 62 6c 65 2d 73 76 6d |y select|able-svm|
|00000ce0| 0d 20 20 28 64 72 61 67 | 2d 61 63 74 69 6f 6e 20 |. (drag|-action |
|00000cf0| 73 76 29 29 0d 0d 28 64 | 65 66 6d 65 74 68 6f 64 |sv))..(d|efmethod|
|00000d00| 20 64 72 61 67 2d 61 63 | 74 69 6f 6e 20 28 28 73 | drag-ac|tion ((s|
|00000d10| 76 20 64 72 61 67 67 61 | 62 6c 65 2d 73 76 6d 29 |v dragga|ble-svm)|
|00000d20| 29 0d 20 20 28 77 68 65 | 6e 20 28 73 6c 6f 74 2d |). (whe|n (slot-|
|00000d30| 62 6f 75 6e 64 70 20 73 | 76 20 27 64 72 61 67 2d |boundp s|v 'drag-|
|00000d40| 61 63 74 69 6f 6e 2d 66 | 6e 29 0d 20 20 20 20 28 |action-f|n). (|
|00000d50| 66 75 6e 63 61 6c 6c 20 | 28 64 72 61 67 2d 61 63 |funcall |(drag-ac|
|00000d60| 74 69 6f 6e 2d 66 6e 20 | 73 76 29 20 73 76 29 29 |tion-fn |sv) sv))|
|00000d70| 29 0d 0d 28 64 65 66 6d | 65 74 68 6f 64 20 63 61 |)..(defm|ethod ca|
|00000d80| 6c 6c 2d 64 72 61 67 2d | 65 6e 64 2d 61 63 74 69 |ll-drag-|end-acti|
|00000d90| 6f 6e 20 28 28 73 76 20 | 64 72 61 67 67 61 62 6c |on ((sv |draggabl|
|00000da0| 65 2d 73 76 6d 29 20 64 | 72 61 67 2d 6f 66 66 73 |e-svm) d|rag-offs|
|00000db0| 65 74 20 64 65 73 74 2d | 70 6f 69 6e 74 29 0d 20 |et dest-|point). |
|00000dc0| 20 3b 3b 65 78 69 73 74 | 73 20 70 72 69 6d 61 72 | ;;exist|s primar|
|00000dd0| 69 6c 79 20 74 6f 20 62 | 65 20 73 70 65 63 69 61 |ily to b|e specia|
|00000de0| 6c 69 7a 65 64 20 62 79 | 20 73 65 6c 65 63 74 61 |lized by| selecta|
|00000df0| 62 6c 65 2d 73 76 6d 0d | 20 20 28 64 72 61 67 2d |ble-svm.| (drag-|
|00000e00| 65 6e 64 2d 61 63 74 69 | 6f 6e 20 73 76 20 64 72 |end-acti|on sv dr|
|00000e10| 61 67 2d 6f 66 66 73 65 | 74 20 64 65 73 74 2d 70 |ag-offse|t dest-p|
|00000e20| 6f 69 6e 74 29 29 0d 0d | 28 64 65 66 6d 65 74 68 |oint))..|(defmeth|
|00000e30| 6f 64 20 64 72 61 67 2d | 65 6e 64 2d 61 63 74 69 |od drag-|end-acti|
|00000e40| 6f 6e 20 28 28 73 76 20 | 64 72 61 67 67 61 62 6c |on ((sv |draggabl|
|00000e50| 65 2d 73 76 6d 29 20 64 | 72 61 67 2d 6f 66 66 73 |e-svm) d|rag-offs|
|00000e60| 65 74 20 64 65 73 74 2d | 70 6f 69 6e 74 29 0d 20 |et dest-|point). |
|00000e70| 20 28 77 68 65 6e 20 28 | 73 6c 6f 74 2d 62 6f 75 | (when (|slot-bou|
|00000e80| 6e 64 70 20 73 76 20 27 | 64 72 61 67 2d 65 6e 64 |ndp sv '|drag-end|
|00000e90| 2d 61 63 74 69 6f 6e 2d | 66 6e 29 0d 20 20 20 20 |-action-|fn). |
|00000ea0| 28 66 75 6e 63 61 6c 6c | 20 28 64 72 61 67 2d 65 |(funcall| (drag-e|
|00000eb0| 6e 64 2d 61 63 74 69 6f | 6e 2d 66 6e 20 73 76 29 |nd-actio|n-fn sv)|
|00000ec0| 20 73 76 20 64 72 61 67 | 2d 6f 66 66 73 65 74 20 | sv drag|-offset |
|00000ed0| 64 65 73 74 2d 70 6f 69 | 6e 74 29 29 29 0d 0d 28 |dest-poi|nt)))..(|
|00000ee0| 64 65 66 6d 65 74 68 6f | 64 20 70 72 65 2d 64 72 |defmetho|d pre-dr|
|00000ef0| 61 67 2d 68 69 6c 69 74 | 65 20 28 28 73 76 20 64 |ag-hilit|e ((sv d|
|00000f00| 72 61 67 67 61 62 6c 65 | 2d 73 76 6d 29 20 68 69 |raggable|-svm) hi|
|00000f10| 6c 69 74 65 2d 66 6c 61 | 67 29 0d 20 20 28 77 69 |lite-fla|g). (wi|
|00000f20| 74 68 2d 66 6f 63 75 73 | 65 64 2d 76 69 65 77 20 |th-focus|ed-view |
|00000f30| 28 66 6f 63 75 73 69 6e | 67 2d 76 69 65 77 20 73 |(focusin|g-view s|
|00000f40| 76 29 0d 20 20 20 20 28 | 68 69 6c 69 74 65 2d 76 |v). (|hilite-v|
|00000f50| 69 65 77 20 73 76 20 68 | 69 6c 69 74 65 2d 66 6c |iew sv h|ilite-fl|
|00000f60| 61 67 29 29 29 0d 0d 28 | 64 65 66 6d 65 74 68 6f |ag)))..(|defmetho|
|00000f70| 64 20 64 72 61 67 2d 73 | 74 61 72 74 2d 70 20 28 |d drag-s|tart-p (|
|00000f80| 28 73 76 20 64 72 61 67 | 67 61 62 6c 65 2d 73 76 |(sv drag|gable-sv|
|00000f90| 6d 29 20 77 68 65 72 65 | 29 0d 20 20 3b 3b 74 72 |m) where|). ;;tr|
|00000fa0| 61 63 6b 73 20 74 68 65 | 20 6d 6f 75 73 65 20 74 |acks the| mouse t|
|00000fb0| 6f 20 73 65 65 20 69 66 | 20 74 68 65 20 75 73 65 |o see if| the use|
|00000fc0| 72 20 62 72 65 61 6b 73 | 20 74 68 65 20 69 74 65 |r breaks| the ite|
|00000fd0| 6d 20 6c 6f 6f 73 65 0d | 20 20 28 72 6c 65 74 20 |m loose.| (rlet |
|00000fe0| 28 28 72 20 3a 52 65 63 | 74 0d 20 20 20 20 20 20 |((r :Rec|t. |
|00000ff0| 20 20 20 20 20 20 3a 74 | 6f 70 4c 65 66 74 20 28 | :t|opLeft (|
|00001000| 73 75 62 74 72 61 63 74 | 2d 70 6f 69 6e 74 73 20 |subtract|-points |
|00001010| 77 68 65 72 65 20 28 64 | 72 61 67 2d 73 74 61 72 |where (d|rag-star|
|00001020| 74 2d 74 6f 6c 20 73 76 | 29 29 0d 20 20 20 20 20 |t-tol sv|)). |
|00001030| 20 20 20 20 20 20 20 3a | 62 6f 74 52 69 67 68 74 | :|botRight|
|00001040| 20 28 61 64 64 2d 70 6f | 69 6e 74 73 20 77 68 65 | (add-po|ints whe|
|00001050| 72 65 20 28 64 72 61 67 | 2d 73 74 61 72 74 2d 74 |re (drag|-start-t|
|00001060| 6f 6c 20 73 76 29 29 29 | 29 0d 20 20 20 20 28 6c |ol sv)))|). (l|
|00001070| 6f 6f 70 20 28 75 6e 6c | 65 73 73 20 28 23 5f 57 |oop (unl|ess (#_W|
|00001080| 61 69 74 4d 6f 75 73 65 | 55 70 29 20 28 72 65 74 |aitMouse|Up) (ret|
|00001090| 75 72 6e 20 6e 69 6c 29 | 29 0d 20 20 20 20 20 20 |urn nil)|). |
|000010a0| 20 20 20 20 28 75 6e 6c | 65 73 73 20 28 23 5f 50 | (unl|ess (#_P|
|000010b0| 74 49 6e 52 65 63 74 20 | 28 76 69 65 77 2d 6d 6f |tInRect |(view-mo|
|000010c0| 75 73 65 2d 70 6f 73 69 | 74 69 6f 6e 20 28 66 6f |use-posi|tion (fo|
|000010d0| 63 75 73 69 6e 67 2d 76 | 69 65 77 20 73 76 29 29 |cusing-v|iew sv))|
|000010e0| 20 72 29 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 | r). | |
|000010f0| 28 72 65 74 75 72 6e 20 | 74 29 29 29 29 29 0d 0d |(return |t)))))..|
|00001100| 28 64 65 66 70 61 73 63 | 61 6c 20 64 72 61 67 2d |(defpasc|al drag-|
|00001110| 61 63 74 69 6f 6e 2d 70 | 72 6f 63 20 28 29 0d 20 |action-p|roc (). |
|00001120| 20 3b 3b 70 61 73 63 61 | 6c 20 73 74 79 6c 65 20 | ;;pasca|l style |
|00001130| 66 6e 20 70 61 73 73 65 | 64 20 74 6f 20 44 72 61 |fn passe|d to Dra|
|00001140| 67 47 72 61 79 52 67 6e | 2c 20 74 68 65 20 63 61 |gGrayRgn|, the ca|
|00001150| 6c 6c 2d 64 72 61 67 2d | 61 63 74 69 6f 6e 20 6d |ll-drag-|action m|
|00001160| 65 74 68 6f 64 20 64 6f | 65 73 20 74 68 65 0d 20 |ethod do|es the. |
|00001170| 20 3b 3b 72 65 61 6c 20 | 77 6f 72 6b 2e 20 2a 63 | ;;real |work. *c|
|00001180| 75 72 72 65 6e 74 2d 64 | 72 61 67 67 61 62 6c 65 |urrent-d|raggable|
|00001190| 2d 64 69 2a 20 69 73 20 | 62 6f 75 6e 64 20 66 6f |-di* is |bound fo|
|000011a0| 72 20 74 68 65 20 64 75 | 72 61 74 69 6f 6e 20 6f |r the du|ration o|
|000011b0| 66 20 74 68 65 20 64 72 | 61 67 2c 20 74 6f 0d 20 |f the dr|ag, to. |
|000011c0| 20 3b 3b 63 6f 6d 6d 75 | 6e 69 63 61 74 65 20 74 | ;;commu|nicate t|
|000011d0| 68 65 20 69 74 65 6d 20 | 62 65 69 6e 67 20 64 72 |he item |being dr|
|000011e0| 61 67 67 65 64 20 74 6f | 20 64 72 61 67 2d 61 63 |agged to| drag-ac|
|000011f0| 74 69 6f 6e 2d 70 72 6f | 63 2e 0d 20 20 28 64 65 |tion-pro|c.. (de|
|00001200| 63 6c 61 72 65 20 28 73 | 70 65 63 69 61 6c 20 2a |clare (s|pecial *|
|00001210| 63 75 72 72 65 6e 74 2d | 64 72 61 67 67 61 62 6c |current-|draggabl|
|00001220| 65 2d 64 69 2a 29 29 0d | 20 20 28 63 61 6c 6c 2d |e-di*)).| (call-|
|00001230| 64 72 61 67 2d 61 63 74 | 69 6f 6e 20 2a 63 75 72 |drag-act|ion *cur|
|00001240| 72 65 6e 74 2d 64 72 61 | 67 67 61 62 6c 65 2d 64 |rent-dra|ggable-d|
|00001250| 69 2a 29 29 0d 0d 0d 28 | 64 65 66 6d 65 74 68 6f |i*))...(|defmetho|
|00001260| 64 20 64 72 61 67 2d 70 | 72 6f 63 20 28 28 73 76 |d drag-p|roc ((sv|
|00001270| 20 64 72 61 67 67 61 62 | 6c 65 2d 73 76 6d 29 20 | draggab|le-svm) |
|00001280| 64 72 61 67 2d 72 67 6e | 20 73 74 61 72 74 2d 70 |drag-rgn| start-p|
|00001290| 74 20 62 6f 75 6e 64 73 | 2d 72 65 63 74 20 73 6c |t bounds|-rect sl|
|000012a0| 6f 70 2d 72 65 63 74 29 | 0d 20 20 28 69 66 20 28 |op-rect)|. (if (|
|000012b0| 64 72 61 67 2d 6f 75 74 | 6c 69 6e 65 2d 70 20 73 |drag-out|line-p s|
|000012c0| 76 29 0d 20 20 20 20 28 | 6c 65 74 20 28 28 61 78 |v). (|let ((ax|
|000012d0| 69 73 2d 63 6f 6e 73 74 | 20 28 65 63 61 73 65 20 |is-const| (ecase |
|000012e0| 28 64 72 61 67 2d 61 78 | 69 73 20 73 76 29 0d 20 |(drag-ax|is sv). |
|000012f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001300| 20 20 20 20 20 20 20 28 | 3a 62 6f 74 68 20 20 20 | (|:both |
|00001310| 20 20 20 20 23 2e 23 24 | 6e 6f 43 6f 6e 73 74 72 | #.#$|noConstr|
|00001320| 61 69 6e 74 29 0d 20 20 | 20 20 20 20 20 20 20 20 |aint). | |
|00001330| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 28 3a | | (:|
|00001340| 68 6f 72 69 7a 6f 6e 74 | 61 6c 20 23 2e 23 24 68 |horizont|al #.#$h|
|00001350| 41 78 69 73 4f 6e 6c 79 | 29 0d 20 20 20 20 20 20 |AxisOnly|). |
|00001360| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001370| 20 20 28 3a 76 65 72 74 | 69 63 61 6c 20 20 20 23 | (:vert|ical #|
|00001380| 2e 23 24 76 41 78 69 73 | 4f 6e 6c 79 29 29 29 29 |.#$vAxis|Only))))|
|00001390| 0d 20 20 20 20 20 20 28 | 23 5f 44 72 61 67 47 72 |. (|#_DragGr|
|000013a0| 61 79 52 67 6e 20 64 72 | 61 67 2d 72 67 6e 20 73 |ayRgn dr|ag-rgn s|
|000013b0| 74 61 72 74 2d 70 74 20 | 62 6f 75 6e 64 73 2d 72 |tart-pt |bounds-r|
|000013c0| 65 63 74 20 73 6c 6f 70 | 2d 72 65 63 74 20 61 78 |ect slop|-rect ax|
|000013d0| 69 73 2d 63 6f 6e 73 74 | 20 64 72 61 67 2d 61 63 |is-const| drag-ac|
|000013e0| 74 69 6f 6e 2d 70 72 6f | 63 29 29 0d 20 20 20 20 |tion-pro|c)). |
|000013f0| 28 66 6c 65 74 20 28 28 | 61 63 74 69 6f 6e 2d 66 |(flet ((|action-f|
|00001400| 6e 20 28 29 20 28 63 61 | 6c 6c 2d 64 72 61 67 2d |n () (ca|ll-drag-|
|00001410| 61 63 74 69 6f 6e 20 73 | 76 29 29 29 0d 20 20 20 |action s|v))). |
|00001420| 20 20 20 28 64 72 61 67 | 2d 72 65 67 69 6f 6e 20 | (drag|-region |
|00001430| 64 72 61 67 2d 72 67 6e | 20 73 74 61 72 74 2d 70 |drag-rgn| start-p|
|00001440| 74 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |t. | |
|00001450| 20 20 20 20 20 3a 62 6f | 75 6e 64 73 2d 72 65 63 | :bo|unds-rec|
|00001460| 74 20 20 20 20 20 20 62 | 6f 75 6e 64 73 2d 72 65 |t b|ounds-re|
|00001470| 63 74 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ct. | |
|00001480| 20 20 20 20 20 20 3a 73 | 6c 6f 70 2d 72 65 63 74 | :s|lop-rect|
|00001490| 20 20 20 20 20 20 20 20 | 73 6c 6f 70 2d 72 65 63 | |slop-rec|
|000014a0| 74 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |t. | |
|000014b0| 20 20 20 20 20 3a 64 72 | 61 67 2d 61 78 69 73 20 | :dr|ag-axis |
|000014c0| 20 20 20 20 20 20 20 28 | 64 72 61 67 2d 61 78 69 | (|drag-axi|
|000014d0| 73 20 73 76 29 0d 20 20 | 20 20 20 20 20 20 20 20 |s sv). | |
|000014e0| 20 20 20 20 20 20 20 20 | 20 3a 61 63 74 69 6f 6e | | :action|
|000014f0| 2d 66 6e 20 20 20 20 20 | 20 20 20 23 27 61 63 74 |-fn | #'act|
|00001500| 69 6f 6e 2d 66 6e 0d 20 | 20 20 20 20 20 20 20 20 |ion-fn. | |
|00001510| 20 20 20 20 20 20 20 20 | 20 20 3a 65 72 61 73 65 | | :erase|
|00001520| 2d 61 74 2d 73 74 61 72 | 74 2d 70 20 28 64 72 61 |-at-star|t-p (dra|
|00001530| 67 2d 70 72 65 2d 65 72 | 61 73 65 2d 70 20 73 76 |g-pre-er|ase-p sv|
|00001540| 29 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |). | |
|00001550| 20 20 20 20 20 3a 65 72 | 61 73 65 2d 61 74 2d 65 | :er|ase-at-e|
|00001560| 6e 64 2d 70 20 20 20 28 | 64 72 61 67 2d 70 6f 73 |nd-p (|drag-pos|
|00001570| 74 2d 65 72 61 73 65 2d | 70 20 73 76 29 29 29 29 |t-erase-|p sv))))|
|00001580| 29 0d 0d 28 64 65 66 6d | 65 74 68 6f 64 20 64 72 |)..(defm|ethod dr|
|00001590| 61 67 2d 69 74 65 6d 20 | 28 28 73 76 20 64 72 61 |ag-item |((sv dra|
|000015a0| 67 67 61 62 6c 65 2d 73 | 76 6d 29 20 77 68 65 72 |ggable-s|vm) wher|
|000015b0| 65 29 0d 20 20 3b 3b 72 | 65 74 75 72 6e 73 20 32 |e). ;;r|eturns 2|
|000015c0| 20 76 61 6c 75 65 73 3a | 20 74 68 65 20 64 72 61 | values:| the dra|
|000015d0| 67 2d 6f 66 66 73 65 74 | 20 61 6e 64 20 77 68 65 |g-offset| and whe|
|000015e0| 74 68 65 72 20 74 6f 20 | 63 61 6c 6c 20 74 68 65 |ther to |call the|
|000015f0| 20 64 72 61 67 2d 65 6e | 64 2d 61 63 74 69 6f 6e | drag-en|d-action|
|00001600| 0d 20 20 28 73 65 74 66 | 20 77 68 65 72 65 20 28 |. (setf| where (|
|00001610| 76 69 65 77 2d 74 6f 2d | 67 6c 6f 62 61 6c 20 28 |view-to-|global (|
|00001620| 66 6f 63 75 73 69 6e 67 | 2d 76 69 65 77 20 73 76 |focusing|-view sv|
|00001630| 29 20 77 68 65 72 65 29 | 29 0d 20 20 28 72 6c 65 |) where)|). (rle|
|00001640| 74 20 28 28 6c 69 6d 69 | 74 52 65 63 74 20 3a 52 |t ((limi|tRect :R|
|00001650| 65 63 74 29 0d 20 20 20 | 20 20 20 20 20 20 28 73 |ect). | (s|
|00001660| 6c 6f 70 52 65 63 74 20 | 3a 52 65 63 74 29 29 0d |lopRect |:Rect)).|
|00001670| 20 20 20 20 28 77 69 74 | 68 2d 6d 61 63 70 74 72 | (wit|h-macptr|
|00001680| 73 20 28 28 64 72 61 67 | 52 67 6e 20 28 23 5f 4e |s ((drag|Rgn (#_N|
|00001690| 65 77 52 67 6e 29 29 29 | 0d 20 20 20 20 20 20 28 |ewRgn)))|. (|
|000016a0| 75 6e 77 69 6e 64 2d 70 | 72 6f 74 65 63 74 0d 20 |unwind-p|rotect. |
|000016b0| 20 20 20 20 20 20 20 28 | 6c 65 74 20 28 28 2a 63 | (|let ((*c|
|000016c0| 75 72 72 65 6e 74 2d 64 | 72 61 67 67 61 62 6c 65 |urrent-d|raggable|
|000016d0| 2d 64 69 2a 20 73 76 29 | 29 0d 20 20 20 20 20 20 |-di* sv)|). |
|000016e0| 20 20 20 20 28 64 65 63 | 6c 61 72 65 20 28 73 70 | (dec|lare (sp|
|000016f0| 65 63 69 61 6c 20 2a 63 | 75 72 72 65 6e 74 2d 64 |ecial *c|urrent-d|
|00001700| 72 61 67 67 61 62 6c 65 | 2d 64 69 2a 29 29 0d 20 |raggable|-di*)). |
|00001710| 20 20 20 20 20 20 20 20 | 20 28 73 65 74 2d 44 72 | | (set-Dr|
|00001720| 61 67 47 72 61 79 52 67 | 6e 2d 61 72 65 61 73 20 |agGrayRg|n-areas |
|00001730| 73 76 20 77 68 65 72 65 | 20 64 72 61 67 52 67 6e |sv where| dragRgn|
|00001740| 20 6c 69 6d 69 74 52 65 | 63 74 20 73 6c 6f 70 52 | limitRe|ct slopR|
|00001750| 65 63 74 29 0d 20 20 20 | 20 20 20 20 20 20 20 28 |ect). | (|
|00001760| 73 68 72 69 6e 6b 2d 77 | 72 61 70 2d 6c 69 6d 69 |shrink-w|rap-limi|
|00001770| 74 52 65 63 74 20 77 68 | 65 72 65 20 64 72 61 67 |tRect wh|ere drag|
|00001780| 52 67 6e 20 6c 69 6d 69 | 74 52 65 63 74 29 0d 20 |Rgn limi|tRect). |
|00001790| 20 20 20 20 20 20 20 20 | 20 28 77 69 74 68 2d 66 | | (with-f|
|000017a0| 6f 63 75 73 65 64 2d 76 | 69 65 77 20 2a 57 4d 67 |ocused-v|iew *WMg|
|000017b0| 72 2d 76 69 65 77 2a 0d | 20 20 20 20 20 20 20 20 |r-view*.| |
|000017c0| 20 20 20 20 28 73 65 74 | 66 20 77 68 65 72 65 20 | (set|f where |
|000017d0| 28 64 72 61 67 2d 70 72 | 6f 63 20 73 76 20 64 72 |(drag-pr|oc sv dr|
|000017e0| 61 67 52 67 6e 20 77 68 | 65 72 65 20 6c 69 6d 69 |agRgn wh|ere limi|
|000017f0| 74 52 65 63 74 20 73 6c | 6f 70 52 65 63 74 29 29 |tRect sl|opRect))|
|00001800| 29 0d 20 20 20 20 20 20 | 20 20 20 20 28 69 66 20 |). | (if |
|00001810| 28 65 71 6c 20 23 40 28 | 2d 33 32 37 36 38 20 2d |(eql #@(|-32768 -|
|00001820| 33 32 37 36 38 29 20 77 | 68 65 72 65 29 0d 20 20 |32768) w|here). |
|00001830| 20 20 20 20 20 20 20 20 | 20 20 28 76 61 6c 75 65 | | (value|
|00001840| 73 20 6e 69 6c 20 6e 69 | 6c 29 0d 20 20 20 20 20 |s nil ni|l). |
|00001850| 20 20 20 20 20 20 20 28 | 76 61 6c 75 65 73 20 77 | (|values w|
|00001860| 68 65 72 65 20 74 29 29 | 29 0d 20 20 20 20 20 20 |here t))|). |
|00001870| 20 20 28 23 5f 44 69 73 | 70 6f 73 65 52 67 6e 20 | (#_Dis|poseRgn |
|00001880| 64 72 61 67 52 67 6e 29 | 29 29 29 29 0d 0d 3b 3b |dragRgn)|))))..;;|
|00001890| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000018a0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000018b0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000018c0| 0d 3b 3b 20 74 68 65 73 | 65 20 72 6f 75 74 69 6e |.;; thes|e routin|
|000018d0| 65 73 20 75 73 65 20 47 | 4c 4f 42 41 4c 20 63 6f |es use G|LOBAL co|
|000018e0| 6f 72 64 69 6e 61 74 65 | 73 0d 0d 28 64 65 66 6d |ordinate|s..(defm|
|000018f0| 65 74 68 6f 64 20 73 65 | 74 2d 44 72 61 67 47 72 |ethod se|t-DragGr|
|00001900| 61 79 52 67 6e 2d 61 72 | 65 61 73 20 28 28 73 76 |ayRgn-ar|eas ((sv|
|00001910| 20 64 72 61 67 67 61 62 | 6c 65 2d 73 76 6d 29 20 | draggab|le-svm) |
|00001920| 77 68 65 72 65 20 64 72 | 61 67 2d 72 67 6e 20 6c |where dr|ag-rgn l|
|00001930| 69 6d 69 74 52 65 63 74 | 20 73 6c 6f 70 52 65 63 |imitRect| slopRec|
|00001940| 74 29 0d 20 20 28 64 65 | 63 6c 61 72 65 20 28 69 |t). (de|clare (i|
|00001950| 67 6e 6f 72 65 20 77 68 | 65 72 65 29 29 0d 20 20 |gnore wh|ere)). |
|00001960| 28 73 65 74 2d 64 72 61 | 67 2d 6c 69 6d 69 74 2d |(set-dra|g-limit-|
|00001970| 72 65 63 74 20 73 76 20 | 6c 69 6d 69 74 52 65 63 |rect sv |limitRec|
|00001980| 74 29 0d 20 20 28 73 65 | 74 2d 64 72 61 67 2d 73 |t). (se|t-drag-s|
|00001990| 6c 6f 70 2d 72 65 63 74 | 20 73 76 20 73 6c 6f 70 |lop-rect| sv slop|
|000019a0| 52 65 63 74 29 0d 20 20 | 28 73 65 74 2d 64 72 61 |Rect). |(set-dra|
|000019b0| 67 2d 6f 75 74 6c 69 6e | 65 2d 72 67 6e 20 73 76 |g-outlin|e-rgn sv|
|000019c0| 20 64 72 61 67 2d 72 67 | 6e 29 29 0d 0d 28 64 65 | drag-rg|n))..(de|
|000019d0| 66 6d 65 74 68 6f 64 20 | 73 65 74 2d 64 72 61 67 |fmethod |set-drag|
|000019e0| 2d 6f 75 74 6c 69 6e 65 | 2d 72 67 6e 20 28 28 73 |-outline|-rgn ((s|
|000019f0| 76 20 64 72 61 67 67 61 | 62 6c 65 2d 73 76 6d 29 |v dragga|ble-svm)|
|00001a00| 20 64 72 61 67 2d 72 67 | 6e 29 0d 20 20 28 6d 75 | drag-rg|n). (mu|
|00001a10| 6c 74 69 70 6c 65 2d 76 | 61 6c 75 65 2d 62 69 6e |ltiple-v|alue-bin|
|00001a20| 64 20 28 74 6f 70 4c 65 | 66 74 20 62 6f 74 52 69 |d (topLe|ft botRi|
|00001a30| 67 68 74 29 20 28 76 69 | 65 77 2d 67 6c 6f 62 61 |ght) (vi|ew-globa|
|00001a40| 6c 2d 63 6f 72 6e 65 72 | 73 20 73 76 29 0d 20 20 |l-corner|s sv). |
|00001a50| 20 20 28 72 6c 65 74 20 | 28 28 72 20 3a 52 65 63 | (rlet |((r :Rec|
|00001a60| 74 20 3a 74 6f 70 4c 65 | 66 74 20 74 6f 70 4c 65 |t :topLe|ft topLe|
|00001a70| 66 74 20 3a 62 6f 74 52 | 69 67 68 74 20 62 6f 74 |ft :botR|ight bot|
|00001a80| 52 69 67 68 74 29 29 0d | 20 20 20 20 20 20 28 23 |Right)).| (#|
|00001a90| 5f 52 65 63 74 52 67 6e | 20 64 72 61 67 2d 72 67 |_RectRgn| drag-rg|
|00001aa0| 6e 20 72 29 29 29 29 0d | 0d 28 64 65 66 6d 65 74 |n r)))).|.(defmet|
|00001ab0| 68 6f 64 20 73 65 74 2d | 64 72 61 67 2d 6c 69 6d |hod set-|drag-lim|
|00001ac0| 69 74 2d 72 65 63 74 20 | 28 28 73 76 20 64 72 61 |it-rect |((sv dra|
|00001ad0| 67 67 61 62 6c 65 2d 73 | 76 6d 29 20 72 29 0d 20 |ggable-s|vm) r). |
|00001ae0| 20 28 65 63 61 73 65 20 | 28 64 72 61 67 2d 62 6f | (ecase |(drag-bo|
|00001af0| 75 6e 64 73 20 73 76 29 | 0d 20 20 20 20 28 3a 63 |unds sv)|. (:c|
|00001b00| 6f 6e 74 61 69 6e 65 72 | 20 28 6d 75 6c 74 69 70 |ontainer| (multip|
|00001b10| 6c 65 2d 76 61 6c 75 65 | 2d 62 69 6e 64 20 28 63 |le-value|-bind (c|
|00001b20| 2d 74 6f 70 4c 65 66 74 | 20 63 2d 62 6f 74 52 69 |-topLeft| c-botRi|
|00001b30| 67 68 74 29 20 28 76 69 | 65 77 2d 67 6c 6f 62 61 |ght) (vi|ew-globa|
|00001b40| 6c 2d 63 6f 72 6e 65 72 | 73 20 28 76 69 65 77 2d |l-corner|s (view-|
|00001b50| 63 6f 6e 74 61 69 6e 65 | 72 20 73 76 29 29 0d 20 |containe|r sv)). |
|00001b60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001b70| 20 28 70 73 65 74 20 72 | 20 3a 52 65 63 74 2e 74 | (pset r| :Rect.t|
|00001b80| 6f 70 4c 65 66 74 20 63 | 2d 74 6f 70 4c 65 66 74 |opLeft c|-topLeft|
|00001b90| 29 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |). | |
|00001ba0| 20 20 20 20 28 70 73 65 | 74 20 72 20 3a 52 65 63 | (pse|t r :Rec|
|00001bb0| 74 2e 62 6f 74 52 69 67 | 68 74 20 63 2d 62 6f 74 |t.botRig|ht c-bot|
|00001bc0| 52 69 67 68 74 29 29 0d | 20 20 20 20 20 20 20 20 |Right)).| |
|00001bd0| 20 20 20 20 20 20 20 20 | 28 6d 75 6c 74 69 70 6c | |(multipl|
|00001be0| 65 2d 76 61 6c 75 65 2d | 62 69 6e 64 20 28 77 2d |e-value-|bind (w-|
|00001bf0| 74 6f 70 4c 65 66 74 20 | 77 2d 62 6f 74 52 69 67 |topLeft |w-botRig|
|00001c00| 68 74 29 20 28 76 69 65 | 77 2d 67 6c 6f 62 61 6c |ht) (vie|w-global|
|00001c10| 2d 63 6f 72 6e 65 72 73 | 20 28 76 69 65 77 2d 77 |-corners| (view-w|
|00001c20| 69 6e 64 6f 77 20 73 76 | 29 29 0d 20 20 20 20 20 |indow sv|)). |
|00001c30| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 28 72 6c | | (rl|
|00001c40| 65 74 20 28 28 77 52 65 | 63 74 20 3a 52 65 63 74 |et ((wRe|ct :Rect|
|00001c50| 20 3a 74 6f 70 4c 65 66 | 74 20 77 2d 74 6f 70 4c | :topLef|t w-topL|
|00001c60| 65 66 74 20 3a 62 6f 74 | 52 69 67 68 74 20 77 2d |eft :bot|Right w-|
|00001c70| 62 6f 74 52 69 67 68 74 | 29 29 0d 20 20 20 20 20 |botRight|)). |
|00001c80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 28 | | (|
|00001c90| 23 5f 53 65 63 74 52 65 | 63 74 20 72 20 77 52 65 |#_SectRe|ct r wRe|
|00001ca0| 63 74 20 72 29 29 29 29 | 0d 20 20 20 20 28 3a 77 |ct r))))|. (:w|
|00001cb0| 69 6e 64 6f 77 20 20 28 | 6d 75 6c 74 69 70 6c 65 |indow (|multiple|
|00001cc0| 2d 76 61 6c 75 65 2d 62 | 69 6e 64 20 28 77 2d 74 |-value-b|ind (w-t|
|00001cd0| 6f 70 4c 65 66 74 20 77 | 2d 62 6f 74 52 69 67 68 |opLeft w|-botRigh|
|00001ce0| 74 29 20 28 76 69 65 77 | 2d 67 6c 6f 62 61 6c 2d |t) (view|-global-|
|00001cf0| 63 6f 72 6e 65 72 73 20 | 28 76 69 65 77 2d 77 69 |corners |(view-wi|
|00001d00| 6e 64 6f 77 20 73 76 29 | 29 0d 20 20 20 20 20 20 |ndow sv)|). |
|00001d10| 20 20 20 20 20 20 20 20 | 20 20 28 70 73 65 74 20 | | (pset |
|00001d20| 72 20 3a 52 65 63 74 2e | 74 6f 70 4c 65 66 74 20 |r :Rect.|topLeft |
|00001d30| 77 2d 74 6f 70 4c 65 66 | 74 29 0d 20 20 20 20 20 |w-topLef|t). |
|00001d40| 20 20 20 20 20 20 20 20 | 20 20 20 28 70 73 65 74 | | (pset|
|00001d50| 20 72 20 3a 52 65 63 74 | 2e 62 6f 74 52 69 67 68 | r :Rect|.botRigh|
|00001d60| 74 20 77 2d 62 6f 74 52 | 69 67 68 74 29 29 29 0d |t w-botR|ight))).|
|00001d70| 20 20 20 20 28 3a 6e 6f | 6e 65 20 28 70 73 65 74 | (:no|ne (pset|
|00001d80| 20 72 20 3a 52 65 63 74 | 2e 74 6f 70 4c 65 66 74 | r :Rect|.topLeft|
|00001d90| 20 23 40 28 2d 31 36 33 | 38 34 20 2d 31 36 33 38 | #@(-163|84 -1638|
|00001da0| 34 29 29 0d 20 20 20 20 | 20 20 20 20 20 20 20 28 |4)). | (|
|00001db0| 70 73 65 74 20 72 20 3a | 52 65 63 74 2e 62 6f 74 |pset r :|Rect.bot|
|00001dc0| 52 69 67 68 74 20 23 40 | 28 31 36 33 38 34 20 31 |Right #@|(16384 1|
|00001dd0| 36 33 38 34 29 29 29 29 | 29 0d 0d 28 64 65 66 6d |6384))))|)..(defm|
|00001de0| 65 74 68 6f 64 20 73 65 | 74 2d 64 72 61 67 2d 73 |ethod se|t-drag-s|
|00001df0| 6c 6f 70 2d 72 65 63 74 | 20 28 28 73 76 20 64 72 |lop-rect| ((sv dr|
|00001e00| 61 67 67 61 62 6c 65 2d | 73 76 6d 29 20 72 29 0d |aggable-|svm) r).|
|00001e10| 20 20 20 20 28 73 65 74 | 2d 64 72 61 67 2d 6c 69 | (set|-drag-li|
|00001e20| 6d 69 74 2d 72 65 63 74 | 20 73 76 20 72 29 0d 20 |mit-rect| sv r). |
|00001e30| 20 20 20 28 23 5f 49 6e | 73 65 74 52 65 63 74 20 | (#_In|setRect |
|00001e40| 72 20 20 28 2d 20 28 68 | 2d 64 72 61 67 2d 73 6c |r (- (h|-drag-sl|
|00001e50| 6f 70 20 73 76 29 29 20 | 28 2d 20 28 76 2d 64 72 |op sv)) |(- (v-dr|
|00001e60| 61 67 2d 73 6c 6f 70 20 | 73 76 29 29 29 29 0d 0d |ag-slop |sv))))..|
|00001e70| 28 64 65 66 75 6e 20 73 | 68 72 69 6e 6b 2d 77 72 |(defun s|hrink-wr|
|00001e80| 61 70 2d 6c 69 6d 69 74 | 52 65 63 74 20 28 77 68 |ap-limit|Rect (wh|
|00001e90| 65 72 65 20 64 72 61 67 | 52 67 6e 20 6c 69 6d 69 |ere drag|Rgn limi|
|00001ea0| 74 52 65 63 74 29 0d 20 | 20 28 6c 65 74 20 28 28 |tRect). | (let ((|
|00001eb0| 68 20 28 70 6f 69 6e 74 | 2d 68 20 77 68 65 72 65 |h (point|-h where|
|00001ec0| 29 29 0d 20 20 20 20 20 | 20 20 20 28 76 20 28 70 |)). | (v (p|
|00001ed0| 6f 69 6e 74 2d 76 20 77 | 68 65 72 65 29 29 29 0d |oint-v w|here))).|
|00001ee0| 20 20 20 20 28 70 73 65 | 74 20 6c 69 6d 69 74 52 | (pse|t limitR|
|00001ef0| 65 63 74 20 3a 52 65 63 | 74 2e 74 6f 70 20 20 20 |ect :Rec|t.top |
|00001f00| 20 28 2d 20 76 20 28 6d | 61 78 20 30 20 28 2d 20 | (- v (m|ax 0 (- |
|00001f10| 28 68 72 65 66 20 64 72 | 61 67 52 67 6e 20 3a 52 |(href dr|agRgn :R|
|00001f20| 65 67 69 6f 6e 2e 72 67 | 6e 42 42 6f 78 2e 74 6f |egion.rg|nBBox.to|
|00001f30| 70 29 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |p). | |
|00001f40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001f50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001f60| 20 20 20 28 70 72 65 66 | 20 6c 69 6d 69 74 52 65 | (pref| limitRe|
|00001f70| 63 74 20 3a 52 65 63 74 | 2e 74 6f 70 29 29 29 29 |ct :Rect|.top))))|
|00001f80| 29 0d 20 20 20 20 28 70 | 73 65 74 20 6c 69 6d 69 |). (p|set limi|
|00001f90| 74 52 65 63 74 20 3a 52 | 65 63 74 2e 6c 65 66 74 |tRect :R|ect.left|
|00001fa0| 20 20 20 28 2d 20 68 20 | 28 6d 61 78 20 30 20 28 | (- h |(max 0 (|
|00001fb0| 2d 20 28 68 72 65 66 20 | 64 72 61 67 52 67 6e 20 |- (href |dragRgn |
|00001fc0| 3a 52 65 67 69 6f 6e 2e | 72 67 6e 42 42 6f 78 2e |:Region.|rgnBBox.|
|00001fd0| 6c 65 66 74 29 0d 20 20 | 20 20 20 20 20 20 20 20 |left). | |
|00001fe0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001ff0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002000| 20 20 20 20 20 20 28 70 | 72 65 66 20 6c 69 6d 69 | (p|ref limi|
|00002010| 74 52 65 63 74 20 3a 52 | 65 63 74 2e 6c 65 66 74 |tRect :R|ect.left|
|00002020| 29 29 29 29 29 0d 20 20 | 20 20 28 70 73 65 74 20 |))))). | (pset |
|00002030| 6c 69 6d 69 74 52 65 63 | 74 20 3a 52 65 63 74 2e |limitRec|t :Rect.|
|00002040| 62 6f 74 74 6f 6d 20 28 | 2b 20 76 20 28 6d 61 78 |bottom (|+ v (max|
|00002050| 20 30 20 28 2d 20 28 70 | 72 65 66 20 6c 69 6d 69 | 0 (- (p|ref limi|
|00002060| 74 52 65 63 74 20 3a 52 | 65 63 74 2e 62 6f 74 74 |tRect :R|ect.bott|
|00002070| 6f 6d 29 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |om). | |
|00002080| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002090| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000020a0| 20 20 20 20 28 68 72 65 | 66 20 64 72 61 67 52 67 | (hre|f dragRg|
|000020b0| 6e 20 3a 52 65 67 69 6f | 6e 2e 72 67 6e 42 42 6f |n :Regio|n.rgnBBo|
|000020c0| 78 2e 62 6f 74 74 6f 6d | 29 29 29 29 29 0d 20 20 |x.bottom|))))). |
|000020d0| 20 20 28 70 73 65 74 20 | 6c 69 6d 69 74 52 65 63 | (pset |limitRec|
|000020e0| 74 20 3a 52 65 63 74 2e | 72 69 67 68 74 20 20 28 |t :Rect.|right (|
|000020f0| 2b 20 68 20 28 6d 61 78 | 20 30 20 28 2d 20 28 70 |+ h (max| 0 (- (p|
|00002100| 72 65 66 20 6c 69 6d 69 | 74 52 65 63 74 20 3a 52 |ref limi|tRect :R|
|00002110| 65 63 74 2e 72 69 67 68 | 74 29 0d 20 20 20 20 20 |ect.righ|t). |
|00002120| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002130| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002140| 20 20 20 20 20 20 20 20 | 20 20 20 28 68 72 65 66 | | (href|
|00002150| 20 64 72 61 67 52 67 6e | 20 3a 52 65 67 69 6f 6e | dragRgn| :Region|
|00002160| 2e 72 67 6e 42 42 6f 78 | 2e 72 69 67 68 74 29 29 |.rgnBBox|.right))|
|00002170| 29 29 29 29 29 0d 0d 3b | 3b 3b 3b 3b 3b 3b 3b 3b |)))))..;|;;;;;;;;|
|00002180| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|00002190| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000021a0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 3b 3b 3b |;;;;;;;;|;;;;;;;;|
|000021b0| 3b 3b 3b 3b 3b 3b 3b 3b | 3b 3b 3b 3b 3b 0d 0d 23 |;;;;;;;;|;;;;;..#|
|000021c0| 7c 0d 3b 3b 3b 20 61 20 | 6d 6f 64 65 73 74 20 65 ||.;;; a |modest e|
|000021d0| 78 61 6d 70 6c 65 20 2d | 20 61 64 64 69 6e 67 20 |xample -| adding |
|000021e0| 64 72 61 67 20 62 65 68 | 61 76 69 6f 72 20 74 6f |drag beh|avior to|
|000021f0| 20 73 74 61 74 69 63 20 | 74 65 78 74 20 64 69 61 | static |text dia|
|00002200| 6c 6f 67 20 69 74 65 6d | 73 0d 0d 28 64 65 66 63 |log item|s..(defc|
|00002210| 6c 61 73 73 20 73 74 64 | 72 67 20 28 64 72 61 67 |lass std|rg (drag|
|00002220| 67 61 62 6c 65 2d 73 76 | 6d 20 73 74 61 74 69 63 |gable-sv|m static|
|00002230| 2d 74 65 78 74 2d 64 69 | 61 6c 6f 67 2d 69 74 65 |-text-di|alog-ite|
|00002240| 6d 29 20 28 29 29 0d 0d | 0d 28 73 65 74 66 20 2a |m) ())..|.(setf *|
|00002250| 74 65 73 74 2d 77 2a 0d | 20 20 20 20 20 20 28 6d |test-w*.| (m|
|00002260| 61 6b 65 2d 69 6e 73 74 | 61 6e 63 65 20 27 64 69 |ake-inst|ance 'di|
|00002270| 61 6c 6f 67 0d 20 20 20 | 20 20 20 20 20 20 20 20 |alog. | |
|00002280| 20 20 20 20 20 20 20 20 | 20 20 3a 77 69 6e 64 6f | | :windo|
|00002290| 77 2d 74 79 70 65 20 3a | 64 6f 63 75 6d 65 6e 74 |w-type :|document|
|000022a0| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000022b0| 20 20 20 20 20 20 3a 76 | 69 65 77 2d 70 6f 73 69 | :v|iew-posi|
|000022c0| 74 69 6f 6e 20 3a 63 65 | 6e 74 65 72 65 64 0d 20 |tion :ce|ntered. |
|000022d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000022e0| 20 20 20 20 3a 76 69 65 | 77 2d 73 69 7a 65 20 23 | :vie|w-size #|
|000022f0| 40 28 32 30 30 20 31 30 | 30 29 0d 20 20 20 20 20 |@(200 10|0). |
|00002300| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002310| 3a 77 69 6e 64 6f 77 2d | 74 69 74 6c 65 20 22 64 |:window-|title "d|
|00002320| 72 61 67 67 61 62 6c 65 | 2d 73 76 6d 20 64 65 6d |raggable|-svm dem|
|00002330| 6f 22 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |o". | |
|00002340| 20 20 20 20 20 20 20 20 | 3a 63 6c 6f 73 65 2d 62 | |:close-b|
|00002350| 6f 78 2d 70 20 74 0d 20 | 20 20 20 20 20 20 20 20 |ox-p t. | |
|00002360| 20 20 20 20 20 20 20 20 | 20 20 20 20 3a 63 6f 6c | | :col|
|00002370| 6f 72 2d 70 20 74 0d 20 | 20 20 20 20 20 20 20 20 |or-p t. | |
|00002380| 20 20 20 20 20 20 20 20 | 20 20 20 20 3a 76 69 65 | | :vie|
|00002390| 77 2d 73 75 62 76 69 65 | 77 73 0d 20 20 20 20 20 |w-subvie|ws. |
|000023a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000023b0| 28 6c 69 73 74 20 28 6d | 61 6b 65 2d 69 6e 73 74 |(list (m|ake-inst|
|000023c0| 61 6e 63 65 20 27 73 74 | 64 72 67 0d 20 20 20 20 |ance 'st|drg. |
|000023d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000023e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000023f0| 20 20 20 20 20 20 3a 76 | 69 65 77 2d 70 6f 73 69 | :v|iew-posi|
|00002400| 74 69 6f 6e 20 23 40 28 | 31 30 20 32 30 29 0d 20 |tion #@(|10 20). |
|00002410| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002420| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002430| 20 20 20 20 20 20 20 20 | 20 3a 64 69 61 6c 6f 67 | | :dialog|
|00002440| 2d 69 74 65 6d 2d 74 65 | 78 74 20 22 63 68 61 6e |-item-te|xt "chan|
|00002450| 67 65 20 6d 79 20 70 6f | 73 69 74 69 6f 6e 22 0d |ge my po|sition".|
|00002460| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002470| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002480| 20 20 20 20 20 20 20 20 | 20 20 3a 76 69 65 77 2d | | :view-|
|00002490| 6e 69 63 6b 2d 6e 61 6d | 65 20 3a 69 31 0d 20 20 |nick-nam|e :i1. |
|000024a0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000024b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000024c0| 20 20 20 20 20 20 20 20 | 3a 64 72 61 67 2d 65 6e | |:drag-en|
|000024d0| 64 2d 61 63 74 69 6f 6e | 2d 66 6e 20 23 27 28 6c |d-action|-fn #'(l|
|000024e0| 61 6d 62 64 61 20 28 73 | 76 20 64 65 6c 74 61 20 |ambda (s|v delta |
|000024f0| 70 74 29 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |pt). | |
|00002500| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002510| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002520| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 28 | | (|
|00002530| 64 65 63 6c 61 72 65 20 | 28 69 67 6e 6f 72 65 20 |declare |(ignore |
|00002540| 70 74 29 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 |pt)). | |
|00002550| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002560| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002570| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002580| 28 6f 66 66 73 65 74 2d | 76 69 65 77 2d 70 6f 73 |(offset-|view-pos|
|00002590| 69 74 69 6f 6e 20 73 76 | 20 64 65 6c 74 61 29 29 |ition sv| delta))|
|000025a0| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000025b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000025c0| 20 20 20 20 20 20 20 20 | 20 20 20 3a 64 72 61 67 | | :drag|
|000025d0| 2d 62 6f 75 6e 64 73 20 | 3a 77 69 6e 64 6f 77 0d |-bounds |:window.|
|000025e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000025f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002600| 20 20 20 20 20 20 20 20 | 20 20 29 0d 20 20 20 20 | | ). |
|00002610| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002620| 20 20 20 20 20 20 20 28 | 6d 61 6b 65 2d 69 6e 73 | (|make-ins|
|00002630| 74 61 6e 63 65 20 27 73 | 74 64 72 67 0d 20 20 20 |tance 's|tdrg. |
|00002640| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002650| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002660| 20 20 20 20 20 20 20 3a | 76 69 65 77 2d 70 6f 73 | :|view-pos|
|00002670| 69 74 69 6f 6e 20 23 40 | 28 31 30 20 35 30 29 0d |ition #@|(10 50).|
|00002680| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002690| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000026a0| 20 20 20 20 20 20 20 20 | 20 20 3a 64 69 61 6c 6f | | :dialo|
|000026b0| 67 2d 69 74 65 6d 2d 74 | 65 78 74 20 22 64 72 61 |g-item-t|ext "dra|
|000026c0| 67 20 6d 65 20 61 6e 79 | 77 68 65 72 65 22 0d 20 |g me any|where". |
|000026d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000026e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000026f0| 20 20 20 20 20 20 20 20 | 20 3a 76 69 65 77 2d 6e | | :view-n|
|00002700| 69 63 6b 2d 6e 61 6d 65 | 20 3a 69 32 0d 20 20 20 |ick-name| :i2. |
|00002710| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002720| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002730| 20 20 20 20 20 20 20 3a | 64 69 61 6c 6f 67 2d 69 | :|dialog-i|
|00002740| 74 65 6d 2d 61 63 74 69 | 6f 6e 20 23 27 28 6c 61 |tem-acti|on #'(la|
|00002750| 6d 62 64 61 20 28 64 69 | 29 20 28 64 65 63 6c 61 |mbda (di|) (decla|
|00002760| 72 65 20 28 69 67 6e 6f | 72 65 20 64 69 29 29 20 |re (igno|re di)) |
|00002770| 28 65 64 2d 62 65 65 70 | 29 29 0d 20 20 20 20 20 |(ed-beep|)). |
|00002780| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002790| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000027a0| 20 20 20 20 20 3a 64 72 | 61 67 2d 61 63 74 69 6f | :dr|ag-actio|
|000027b0| 6e 2d 66 6e 20 23 27 28 | 6c 61 6d 62 64 61 20 28 |n-fn #'(|lambda (|
|000027c0| 64 69 29 20 28 64 65 63 | 6c 61 72 65 20 28 69 67 |di) (dec|lare (ig|
|000027d0| 6e 6f 72 65 20 64 69 29 | 29 20 28 65 64 2d 62 65 |nore di)|) (ed-be|
|000027e0| 65 70 29 29 0d 20 20 20 | 20 20 20 20 20 20 20 20 |ep)). | |
|000027f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002800| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3a | | :|
|00002810| 64 72 61 67 2d 62 6f 75 | 6e 64 73 20 3a 6e 6f 6e |drag-bou|nds :non|
|00002820| 65 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |e. | |
|00002830| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002840| 20 20 20 20 20 20 20 20 | 20 20 20 20 29 29 29 29 | | ))))|
|00002850| 0d 0d 7c 23 00 00 00 00 | 00 00 00 00 00 00 00 00 |..|#....|........|
|00002860| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002870| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002880| 00 00 01 00 00 00 01 68 | 00 00 00 68 00 00 00 52 |.......h|...h...R|
|00002890| 29 0d 28 70 72 6f 76 69 | 64 65 20 3a 64 72 61 67 |).(provi|de :drag|
|000028a0| 67 61 62 6c 65 2d 64 69 | 6d 29 0d 3b 3b 3b 3b 3b |gable-di|m).;;;;;|
|000028b0| 12 64 72 61 67 67 61 62 | 6c 65 2d 73 76 6d 2e 6c |.draggab|le-svm.l|
|000028c0| 69 73 70 67 02 00 00 00 | 54 45 58 54 43 43 4c 32 |ispg....|TEXTCCL2|
|000028d0| 00 00 54 45 58 54 43 43 | 4c 32 01 00 00 00 00 00 |..TEXTCC|L2......|
|000028e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000028f0| 00 00 a4 c7 08 42 00 00 | 27 d4 00 00 01 ba 2d 64 |.....B..|'.....-d|
|00002900| 69 6d 2e 4c 69 73 70 0d | 3b 3b 0d 3b 3b 20 43 6f |im.Lisp.|;;.;; Co|
|00002910| 70 79 72 69 67 68 74 20 | a9 20 31 39 39 31 20 4e |pyright |. 1991 N|
|00002920| 6f 72 74 68 77 65 73 74 | 65 72 6e 20 55 6e 69 76 |orthwest|ern Univ|
|00002930| 65 72 73 69 74 79 20 49 | 6e 73 74 69 74 75 74 65 |ersity I|nstitute|
|00002940| 20 66 6f 72 20 74 68 65 | 20 4c 65 61 72 6e 69 6e | for the| Learnin|
|00002950| 67 20 53 63 69 65 6e 63 | 65 73 0d 3b 3b 20 41 6c |g Scienc|es.;; Al|
|00002960| 6c 20 52 69 67 68 74 73 | 20 52 65 73 65 72 76 65 |l Rights| Reserve|
|00002970| 64 0d 3b 3b 0d 3b 3b 20 | 61 75 74 68 6f 72 3a 20 |d.;;.;; |author: |
|00002980| 00 00 00 0a 00 01 00 16 | 0a 00 01 00 00 00 00 00 |........|........|
|00002990| 00 48 00 0a 43 6f 75 72 | 69 65 72 00 00 00 00 00 |.H..Cour|ier.....|
|000029a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000029b0| 00 00 00 00 00 06 00 08 | 00 6b 01 28 03 32 03 2c |........|.k.(.2.,|
|000029c0| 00 6b 01 28 03 32 03 2c | 00 00 00 00 00 00 25 5f |.k.(.2.,|......%_|
|000029d0| 00 00 25 5f 00 00 1b ab | 01 00 00 00 00 0a 00 00 |..%_....|........|
|000029e0| 07 43 6f 75 72 69 65 72 | 00 00 01 00 00 00 01 68 |.Courier|.......h|
|000029f0| 00 00 00 68 00 00 00 52 | 00 d0 8b d0 06 40 00 00 |...h...R|.....@..|
|00002a00| 00 1c 00 52 00 01 46 52 | 45 44 00 01 00 12 4d 50 |...R..FR|ED....MP|
|00002a10| 53 52 00 00 00 2a 00 02 | ff ff 00 00 00 00 00 00 |SR...*..|........|
|00002a20| 00 00 00 03 ff ff 00 00 | 00 5a 00 00 00 00 03 ed |........|.Z......|
|00002a30| ff ff 00 00 00 0e 00 d1 | 6b 5c 00 00 00 00 00 00 |........|k\......|
|00002a40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+